import { IsNumber, IsOptional, IsString } from 'class-validator';
import { DataBaseDto } from 'src/common/dto/data-base.dto';
import { PaginationDto } from 'src/common/dto/pagination.dto';

/* 分页查询 */
export class GetSysAreaListDto extends PaginationDto {
  /* 地区名称 */
  @IsOptional()
  @IsString()
  areaName?: string;

  /* 状态 */
  @IsOptional()
  @IsString()
  status?: string;

  @IsOptional()
  @IsString()
  module?: string;
}

/* 新增 */
export class AddSysAreaDto extends DataBaseDto {
  /* 地区名称 */
  @IsString()
  areaName: string;

  /* 上级地区ID */
  @IsNumber()
  @IsOptional()
  parentId: number;

  /* 显示顺序 */
  @IsNumber()
  orderNum: number;

  /* 地区编码 */
  @IsString()
  areaCode: string;

  /* 地区状态 */
  @IsString()
  status: string;

  ancestors: string;
}

/* 编辑 */
export class UpdateSysAreaDto extends AddSysAreaDto {
  @IsNumber()
  areaId: number;
}